(include 'class/nums/class.inc)

(def-class 'fixeds 'nums)
(dec-method 'vtable 'class/fixeds/vtable)
(dec-method 'create 'class/fixeds/create)

(dec-method 'vcreate 'class/fixeds/create 'override)
(dec-method 'velement 'class/fixed/create 'override)

(dec-method 'mul 'class/fixeds/mul 'override)
(dec-method 'div 'class/fixeds/div 'override)
(dec-method 'mod 'class/fixeds/mod 'override)
(dec-method 'scale 'class/fixeds/scale 'override)

(dec-method 'frac 'class/fixeds/frac 'virtual '(r0 r1) '(r0))
(dec-method 'floor 'class/fixeds/floor 'virtual '(r0 r1) '(r0))

(dec-method 'lisp_frac 'class/fixeds/lisp_frac 'static '(r0 r1) '(r0 r1))
(dec-method 'lisp_floor 'class/fixeds/lisp_floor 'static '(r0 r1) '(r0 r1))

(def-struct 'fixeds 'nums)
(def-struct-end)
